﻿#include "GameSet.h"
#include <easyx.h>
#include <stdio.h>
//你来检测输入，然后变更volume的值传给setMusicVolume
//a-，d+
//你来检测输入，然后变更volume的值传给setMusicVolume
//a-，d+
void GameSet()
{
	ExMessage msg = { 0 };
	//定义两个字符数组 用于存储音量数值
	char str1[50];
	char str2[50];
	while (true)
	{
		loadimage(&bgimage, "assets/picture/set.png", windowWidth, windowHeight, true);
		cleardevice();
		putimage(0, 0, &bgimage);
		settextcolor(WHITE);
		settextstyle(40, 0, "站酷庆科黄油体常规");
		setbkmode(TRANSPARENT);
		sprintf_s(str1, "%d", volumeBGM);
		sprintf_s(str2, "%d", volumeSOUND);
		outtextxy(356, 135, str1);
		outtextxy(356, 240, str2);
		BeginBatchDraw();
		peekmessage(&msg, EX_KEY);
		if (msg.message == WM_KEYDOWN)
		{
			switch (msg.vkcode)
			{
			case 'A':
				AutoSound();
				if (volumeBGM > 0)	//检查背景音乐音量是否大于0
				{
					volumeBGM -= 100;	//背景音乐音量减少100
					setMusicVolume(volumeBGM, 1);	//调用函数设置背景音乐的音量
					putimage(0, 0, img);
					sprintf_s(str1, "%d", volumeBGM);	//重新将更新后的背景音乐音量值转换为字符串
					outtextxy(356, 135, str1);
					outtextxy(356, 240, str2);
				}
				break;
			case 'D':
				AutoSound();
				if (volumeBGM < 1000)
				{
					volumeBGM += 100;
					setMusicVolume(volumeBGM, 1);
					putimage(0, 0, img);
					sprintf_s(str1, "%d", volumeBGM);
					outtextxy(356, 135, str1);
					outtextxy(356, 240, str2);
				}
				break;
			case 'Z':
				AutoSound();
				if (volumeSOUND > 0)
				{
					volumeSOUND -= 100;
					setMusicVolume(volumeSOUND, 0);
					putimage(0, 0, img);
					sprintf_s(str2, "%d", volumeSOUND);
					outtextxy(356, 135, str1);
					outtextxy(356, 240, str2);
				}
				break;
			case 'C':
				AutoSound();
				if (volumeSOUND < 1000)
				{
					volumeSOUND += 100;
					setMusicVolume(volumeSOUND, 0);
					putimage(0, 0, img);
					sprintf_s(str2, "%d", volumeSOUND);
					outtextxy(356, 135, str1);
					outtextxy(356, 240, str2);
				}
				break;
			case 'X':
				AutoSound();
				EndBatchDraw();
				return;
			}
		}
		msg.message = 0;
		EndBatchDraw();
	}
}
void setMusicVolume(int volume, bool isBGM) {
	char command[50];
	// 判断是否是背景音乐（BGM）还是音效（SOUND）
	if (isBGM) {
		// 设置背景音乐的音量
		sprintf_s(command, "setaudio BGM volume to %d", volume);
	}
	else {
		// 设置音效的音量
		sprintf_s(command, "setaudio SOUND volume to %d", volume);
	}
	// 使用 mciSendString 发送命令，调整音量
	mciSendString(command, NULL, 0, NULL);  // 发送命令来改变音量
}